package com.ruoyi.member.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.db.domain.MemberSourceInfo;
import com.ruoyi.db.domain.SourceMemberDataInfoHistory;

/**
 * 用户资质信息Service接口
 * 
 * @author ruoyi
 * @date 2023-08-13
 */
public interface IMemberSourceInfoService 
{
    /**
     * 查询用户资质信息
     * 
     * @param uid 用户资质信息主键
     * @return 用户资质信息
     */
    public MemberSourceInfo selectMemberSourceInfoByUid(Long uid);
    public List<Map<String, Object>> selectMemberSourceInfoByChannelCode(MemberSourceInfo memberSourceInfo);
    public List<Map<String, Object>> selectAgeByChannelCode(MemberSourceInfo memberSourceInfo);
    public List<Map<String, Object>> selectProvinceByChannelCode(MemberSourceInfo memberSourceInfo);

    List<Map<String, Object>> getCityList(MemberSourceInfo memberSourceInfo);
    List<Map<String, Object>> getCity(MemberSourceInfo memberSourceInfo);

    /**
     * 查询用户资质信息列表
     * 
     * @param memberSourceInfo 用户资质信息
     * @return 用户资质信息集合
     */


    public List<Map<String, Object>>   selectMemberSourceInfoMapList(MemberSourceInfo memberSourceInfo);

    public List<Map<String, Object>>   selectMemberSourceInfoCardList(MemberSourceInfo memberSourceInfo);

    public List<Map<String, Object>>   selectZhiMaList(Integer type);
    public List<Map<String, Object>>   selectZhiMaList1(MemberSourceInfo memberSourceInfo);
    String  selectAllZhiMaList(MemberSourceInfo memberSourceInfo);

    /**
     * 新增用户资质信息
     * 
     * @param memberSourceInfo 用户资质信息
     * @return 结果
     */
    public int insertMemberSourceInfo(MemberSourceInfo memberSourceInfo);

    /**
     * 修改用户资质信息
     * 
     * @param memberSourceInfo 用户资质信息
     * @return 结果
     */
    public int updateMemberSourceInfo(MemberSourceInfo memberSourceInfo);

    /**
     * 批量删除用户资质信息
     * 
     * @param uids 需要删除的用户资质信息主键集合
     * @return 结果
     */
    public int deleteMemberSourceInfoByUids(Long[] uids);

    /**
     * 删除用户资质信息信息
     * 
     * @param uid 用户资质信息主键
     * @return 结果
     */
    public int deleteMemberSourceInfoByUid(Long uid);

    Long countNumberByDate(String startDate, String endDate);

    List<Map<String, Object>> upload(List<String> md5List);
}
